package file;

import java.io.File;
import java.io.FileFilter;

/**
 * 有条件的获取一个目录中的子项
 *
 * File有一个重载的listFiles方法,允许我们传入一个文件过滤器,并在改过滤器上定义过滤
 * 条件,之后listFiles执行完毕后会将目录中所有满足过滤器要求的子项进行返回
 */
public class ListFilesDemo2 {
    public static void main(String[] args) {
        //获取当前目录中名字里含有字母"o"的子项
        File dir=new File(".");

        if (dir.isDirectory()){
            FileFilter filter=new FileFilter() {
                public boolean accept(File file) {
                    return file.getName().contains("o");
                }
            };
            File [] subs=dir.listFiles(filter);
            System.out.println(subs.length+"个子项");
            for (int i = 0; i < subs.length; i++) {
                File sub=subs[i];
                System.out.println(sub.getName());
            }
        }
    }
}
